Closed Source and Reliability

Mark Leighton Fisher on 2003-05-29T16:59:50

I am agnostic about Open Source vs. Closed Source. That being said, when I go with a Closed Source solution I expect the solution to be reliable enough that I don't feel like I need the source. I anticipate that there will be defects ("A sufficient condition for program triviality is that it contain no bugs"), but that these defects will either:

  • Not interfere with my use of the solution; or
  • That these defects will be fixed in a timely fashion by the software vendor.

My canonical example is HCL-eXceed, an X Window System server for Microsoft Windows (3.1/NT/2K/etc.) that just works. When I was at Thomson, we did encounter a few defects in HCL-eXceed, but either they were minor or they were fixed in the next release. HCL-eXceed was reliable enough that I didn't feel the need to possess their source code.

The reliability of closed-source software is an issue that has not been dealt with much in the literature. When you have Open Source software, you can fix it yourself if something is not right (which I have done for Perl). When you have Closed Source software, you must rely on the vendor to fix any defects. Although I have a bias due to being a software professional, I think that my thoughts echo those of non-computer people -- that part of what you are paying for with Closed Source software is the assumed professionalism of the vendor. This professionalism should be demonstrated by the amount of design, testing, and quality assurance work put into their software products. You can afford to pay less for Open Source software, because you or someone you hire can fix the software. When you buy Closed Source software, you must rely on the vendor to fix any problems.

The upshot of this issue is that (IMHO) most people expect that Closed Source software will be more reliable than Open Source software because:

  • They have paid for that reliability; and
  • They are at the mercy of the software vendor if the software is not reliable enough for their needs.

Open Source software has raised the bar on software reliability, because as Open Source software has matured it has grown to be more reliable than some of the Closed Source software now in use. Closed Source vendors can still survive, but they must get serious about doing enough design work upfront with enough testing in the back end so that their reliability matches that of equivalent Open Source software.

P.S. I'm not talking about BDUF (Big Design Up Front), but unless you are creating a totally new kind of software you need to spend some amount of design time upfront, along with more design time as the design evolves.

P.P.S. The other reason you can need source code is to expand the software if it does not have built-in expandability. Many software packages these days are quite expandable enough without the source, however (think Microsoft Office/AutoCAD/Frontier).

P.P.P.S. I've borrowed the "P.S." idea from Dave Winer :)


closed source

TeeJay on 2003-05-30T15:24:29

Closed source has some other disadvantages apart from reliability and price issues.

One of my biggest problems with closed source is how it reduces my ability to use software I have paid for.

  • I have several legit and licensed copies of the same and different versions of windows, I also had some copies. Over time I have lost most of the orginals and had to rely on copies - I got these disks with hardware, which meant I paid for them (one way or another) but know I am unable to buy Windows 98 for my machine even if I had the cash and didn't resent handing it over.
  • closed source - especially windows tends to use obscure undocumented files and keys and rubbish all over your hard drive - this makes it hard to remove / or reinstall and particularly hard to recoever from problems, and disasters.
  • Have you tried debugging or troubleshooting closed-source software : you can't ? Its next to impossible. You just have to reinstall and often lose data and settings.

Re:closed source

Mark Leighton Fisher on 2003-06-03T13:55:27

I understand where you are coming from, as I have had to deal with lots of Closed Source software. I have even debugged Closed Source libraries -- not a lot of fun.

I helped work on copy-protection software in the 1980's, so I know first-hand about the installation problems of Closed Source software.

I was trying to cover an issue (reliability) with Closed Source that has not been covered much. I read Slashdot, so I am reminded every day of the advantages of Open Source over Closed Source software :) My attitude on Closed Source software is, "If you don't want me to want your source, then don't make me need your source."